$config = $this->backends[$name]['config'];
$config['class'] = $class;
- $config += [ // set defaults
+ if ( isset( $config['domainId'] ) ) {
+ $domain = $config['domainId'];
+ } else {
// @FIXME: this does not include the domain for b/c but it ideally should
- 'wikiId' => wfWikiID(), // e.g. "my_wiki-en_"
+ $domain = $config['wikiId'] ?? wfWikiID();
+ }
+ // Set default parameter values
+ $config += [
+ 'domainId' => $domain, // e.g. "my_wiki-en_"
'mimeCallback' => [ $this, 'guessMimeInternal' ],
'obResetFunc' => 'wfResetOutputBuffers',
'streamMimeFunc' => [ StreamFile::class, 'contentTypeFromPath' ],
}
];
$config['lockManager'] =
- LockManagerGroup::singleton( $config['wikiId'] )->get( $config['lockManager'] );
+ LockManagerGroup::singleton( $domain )->get( $config['lockManager'] );
$config['fileJournal'] = isset( $config['fileJournal'] )
? FileJournal::factory( $config['fileJournal'], $name )
: FileJournal::factory( [ 'class' => NullFileJournal::class ], $name );
class DBFileJournal extends FileJournal {
/** @var IDatabase */
protected $dbw;
-
- protected $wiki = false; // string; wiki DB name
+ /** @var string */
+ protected $domain;
/**
* Construct a new instance from configuration.
*
* @param array $config Includes:
- * 'wiki' : wiki name to use for LoadBalancer
+ * domain: database domain ID of the wiki
*/
protected function __construct( array $config ) {
parent::__construct( $config );
- $this->wiki = $config['wiki'];
+ $this->domain = $config['domain'] ?? $config['wiki']; // b/c
}
/**
if ( !$this->dbw ) {
// Get a separate connection in autocommit mode
$lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->newMainLB();
- $this->dbw = $lb->getConnection( DB_MASTER, [], $this->wiki );
+ $this->dbw = $lb->getConnection( DB_MASTER, [], $this->domain );
$this->dbw->clearFlag( DBO_TRX );
}
/** @var FileBackend $backend */
$backend = $config['backend'];
$config['name'] = $backend->getName();
- $config['wikiId'] = $backend->getWikiId();
+ $config['domainId'] = $backend->getDomainId();
parent::__construct( $config );
$this->backend = $config['backend'];
$this->repoName = $config['repoName'];